﻿/******************************************************   
创建者: 梁家健
创建时间: 2017-03-17
修改:
修改时间: 
功能: 单店-系列SKC数量确认实体
 ******************************************************/

using com.nm.Attributes;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace PlanAPI.model
{
    public class PLShopSeriesSKCModel
    {
        /// <summary>
        /// 月-单店-系列SKC数量实体
        /// </summary>
        /// Writer：梁家健
        /// Create Date：2017-03-17
        public class CreatModel: NeceModel
        {
            [ParamDescription("配货金额")]
            public decimal? MoveAmount { get; set; }
            [ParamDescription("供货金额")]
            public decimal? SupplyAmount { get; set; }
            [ParamDescription("销售金额")]
            public decimal? SaleAmount { get; set; }
            [ParamDescription("平均配销比")]
            public decimal? AvgMSRate { get; set; }
            [ParamDescription("审核状态")]
            public long? CheckState { get; set; }
            [ParamDescription("审核人")]
            public string Checker { get; set; }
            [ParamDescription("修改时间")]
            public DateTime? MofifyDTM { get; set; }
            [ParamDescription("允许使用")]
            public long? AllowUsed { get; set; }
            [ParamDescription("读取时间")]
            public DateTime? LoadTime { get; set; }
            [ParamDescription("修改时间")]
            public DateTime? EtlDate { get; set; }
        }

        /// <summary>
        /// 月-单店-系列SKC数量主要实体
        /// </summary>
        /// Writer：梁家健
        /// Create Date：2017-03-17
        public class NeceModel
        {
            [ParamDescription("公司代码")]
            public string CompanyID { get; set; }
            [ParamDescription("年份")]
            public long? Yearv { get; set; }
            [ParamDescription("季节")]
            public string SeasonID { get; set; }
            [ParamDescription("月份")]
            public long? Monthv { get; set; }
            [ParamDescription("零售分区")]
            public string ParentAreaID { get; set; }
            [ParamDescription("店铺ID")]
            public string ShopID { get; set; }
            [ParamDescription("类别")]
            public string KindID { get; set; }
            [ParamDescription("系列")]
            public string SeriesID { get; set; }
            [ParamDescription("配货金额占比")]
            public decimal? MoveAmountRate { get; set; }
            [ParamDescription("供货金额占比")]
            public decimal? SupplyAmountRate { get; set; }
            [ParamDescription("销售金额占比")]
            public decimal? SaleAmountRate { get; set; }
            [ParamDescription("配销比")]
            public decimal? MSRate { get; set; }
            [ParamDescription("标准金额占比")]
            public decimal? StandAmountRate { get; set; }
            [ParamDescription("确认标准金额占比")]
            public decimal? CkStandAmountRate { get; set; }
            [ParamDescription("目标毛利率")]
            public decimal? GrossRate { get; set; }
            [ParamDescription("SKC占比")]
            public decimal? SKCRate { get; set; }
            [ParamDescription("SKC百分比(换算)")]
            public decimal? PercentSKCRate { get; set; }
            [ParamDescription("陈列量")]
            public long? DisplayQty { get; set; }
            [ParamDescription("SKC企划数量")]
            public long? PlanSKC { get; set; }
            [ParamDescription("确认SKC企划数量")]
            public long? CheckPlanSKC { get; set; }
            [ParamDescription("备注")]
            public string Remark { get; set; }
            [ParamDescription("数据源")]
            public string ExtrSource { get; set; }
        }

        /// <summary>
        /// 月-单店-系列SKC数量显示实体
        /// </summary>
        /// Writer：梁家健
        /// Create Date：2017-03-20
        public class ListModel:NeceModel
        {
            [ParamDescription("店铺代码")]
            public string ShopCode { get; set; }
            [ParamDescription("店铺名称")]
            public string ShopName { get; set; }
            [ParamDescription("类别名称")]
            public string KindName { get; set; }
            [ParamDescription("系列名称")]
            public string SeriesName { get; set; }
            [ParamDescription("季节名称")]
            public string SeasonName { get; set; }
            [ParamDescription("商品区域名称")]
            public string ParentAreaName { get; set; }
        }

        /// <summary>
        /// 月-单店-系列SKC数量修改实体
        /// </summary>
        /// Writer：梁家健
        /// Create Date：2017-03-20
        public class ModifyModel
        {
            [ParamDescription("企划-月SKC数量列表")]
            public IList<NeceModel> list { get; set; }
            [ParamDescription("年份")]
            public int Year { get; set; }
            [ParamDescription("月份")]
            public int Month { get; set; }
        }
    }

    public class PLShopSeriesSKCWeekModel
    {
        /// <summary>
        /// 周-单店-系列SKC数量实体
        /// </summary>
        /// Writer：梁家健
        /// Create Date：2017-03-17
        public class CreatModel: NeceModel
        {
            [ParamDescription("确认周SKC企划数量")]
            public long? CheckWeekvPlanSKC { get; set; }
            [ParamDescription("审核状态")]
            public long? CheckState { get; set; }
            [ParamDescription("审核人")]
            public string Checker { get; set; }
            [ParamDescription("修改时间")]
            public DateTime? MofifyDTM { get; set; }
            [ParamDescription("允许使用")]
            public long? AllowUsed { get; set; }
            [ParamDescription("读取时间")]
            public DateTime? LoadTime { get; set; }
            [ParamDescription("修改时间")]
            public DateTime? EtlDate { get; set; }
        }

        /// <summary>
        /// 周-单店-系列SKC数量主要实体
        /// </summary>
        /// Writer：梁家健
        /// Create Date：2017-03-17
        public class NeceModel
        {
            [ParamDescription("公司代码")]
            public string CompanyID { get; set; }
            [ParamDescription("年份")]
            public long? Yearv { get; set; }
            [ParamDescription("季节")]
            public string SeasonID { get; set; }
            [ParamDescription("周")]
            public long? Weekv { get; set; }
            [ParamDescription("月份")]
            public long? Monthv { get; set; }
            [ParamDescription("零售分区")]
            public string ParentAreaID { get; set; }
            [ParamDescription("店铺ID")]
            public string ShopID { get; set; }
            [ParamDescription("类别")]
            public string KindID { get; set; }
            [ParamDescription("系列")]
            public string SeriesID { get; set; }
            [ParamDescription("周SKC企划数量")]
            public long? WeekvPlanSKC { get; set; }
            [ParamDescription("确认周SKC企划数量")]
            public long? CheckWeekvPlanSKC { get; set; }
            [ParamDescription("备注")]
            public string Remark { get; set; }
        }

        /// <summary>
        /// 周-单店-系列SKC数量显示实体
        /// </summary>
        /// Writer：梁家健
        /// Create Date：2017-03-20
        public class ListModel:NeceModel
        {
            [ParamDescription("店铺代码")]
            public string ShopCode { get; set; }
            [ParamDescription("店铺名称")]
            public string ShopName { get; set; }
            [ParamDescription("类别名称")]
            public string KindName { get; set; }
            [ParamDescription("系列名称")]
            public string SeriesName { get; set; }
            [ParamDescription("商品区域名称")]
            public string ParentAreaName { get; set; }
            [ParamDescription("季节名称")]
            public string SeasonName { get; set; }
            [ParamDescription("确认SKC数量")]
            public long? CheckPlanSKC { get; set; }
            [ParamDescription("周更新率")]
            public decimal? UpdateRate { get; set; }
            [ParamDescription("系数")]
            public decimal? ShopRate { get; set; }

            public IList<IGrouping<string,ListModel>> list { get; set; }
        }

        /// <summary>
        /// 周-单店-系列SKC数量修改实体
        /// </summary>
        /// Writer：梁家健
        /// Create Date：2017-04-01
        public class ModifyModel
        {
            public IList<NeceModel> list { get; set; }
        }
    }
}
